深入理解Java中的并发编程:到底什么是线程安全?
熟悉我的朋友都知道,我的公众号和博客之前发过很多篇关于Java并发编程有关的文章,后来很多人问我有没有后续,还有些出版社、付费专栏的朋友找到我,希望我可以和他们合作这样的。前面一直忙,一直没有想这件事情。
最近,准备把和Java并发编程有关的知识做一个整理。希望可以出一个专题,主要来介绍Java并发编程的那些知识。最近,有了一点时间,我自己整理了一份大纲:
对于程序员来说,编写不出错的代码是很难的,比这更难的是编写不出错的多线程相关代码。相比较于顺序执行的代码,并发执行的代码更加容易出错。而且在多线程场景中,出现了问题更加不容易排查。 造成这种种困难的原因就是开发者其实对并发编程有关的知识了解的并不够深入。并发编程,一直是一个比较晦涩难懂的知识,也是面试的一个难点和重点。对于很多开发同学来说,一般都仅仅局限于了解多线程是怎么回事儿,再好一点的知道可以使用哪些 API 和工具类可以保证线程安全。但是,究其原理,很少有人能把它讲述的很清楚。 在豆瓣上搜索并发编程,和这方面有关的书籍有数十本之多,而排名靠前的几本又都是以『实战』、『实践』为主,很少深入原理。但是无论是在找工作面试过程中,还是在日常工作开发中,仅仅知道简单的用法是不够的。 尤其对于 Java 程序员来说,Java 语言封装了很多关键字,比如并发场景直接使用 Synchronized 加锁,大多数场景下就可以保证线程安全了。但是对于其究竟是如何实现的,到底是如何解决并发问题的,这样做可能带来哪些负面影响?有道无术,术尚可求也,有术无道,止于术。所以,我决定,准备写一个Java并发编程有关的专题文章,从原理出发,抽丝剥茧,剥开Java并发编程的迷雾, 说实话,这个目录,完全可以出一本书。或者发到一些付费专栏上。估计可以卖很多钱。 我思考了很久。决定发到知识星球。因为我的球友是第一批通过付费的方式支持我的人。我要对他们有些回报。 我不知道这个专题我可以更新多久。毕竟内容太多。我尽量每周更一篇。 这个专题搞完之后。可能会有更多专题。具体的我还没想好。干就完了!!!
为什么不在公众号更新?
因为公众号和书籍、专栏最大的区别就是公众号更加适合零散时间的阅读,更加适合学习那些简单的、或者独立的知识点。至于这种体系化的知识并不是太适合在公众号发表。
但是,这些知识当中,有一些章节部分比较独立的我也会发到公众号中。
因为我的星球付费有效期是一年。所以,针对第一批支持我的朋友(2018年加入星球的朋友),在我更新完之前,服务到期了,并且你不准备续费了。那么这个专题你仍然可以免费看完。但是,如果是18年以后加入的朋友的话,就只能在服务期内查看更新内容。
2018年还剩最后一个月,欢迎您在2018年加入。目前星球有850人,冲刺1000人,希望我能在2018年结束之前可以星球人数达到1000人。
之前感恩节搞过一次活动,有的朋友后来问我还有没有优惠,所以,趁着这次推出新的《深入理解Java并发编程》专题,和我冲刺1000人的小目标,优惠活动延期至2018-12-31
我的知识星球,加上这个《深入理解Java并发编程》共有三个板块:
<成神之路>。每两周一个Java核心知识点,已进行到第16期
<直面Java>。每天一道Java技术面试题,已进行到180期
原价128/年,活动期间当天108/年,现在加入,可看所有历史内容。
另外,星球内部已开启邀请返现,邀请者好友加入可获得37.8元返现,被邀请者可获得16.2元返现。(PS:由于我是星主,我生成的二维码不具备返现功能。加入后生成二维码邀请朋友即可获得奖励。)
另外的另外,目前星球内部开展送书活动,下周六开奖,加入即可参与抽奖活动。
扫描下方二维码即可加入
附录(直面Java前90道题目):